/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * Configuration.java
 *
 * Created on 2 juin 2009, 15:11:39
 */

package caylus.GUI;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.io.File;
import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.DataLine;
import javax.sound.sampled.SourceDataLine;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;

/**
 *
 * @author CeZar
 */
public class Configuration extends javax.swing.JFrame {

    private GeneralSettings _generalSettings;

    /** Creates new form Configuration */
    public Configuration() {
        initComponents();
        initComponent2();
        centrerFenetre();
        
    }

    /**
     * methode pour center la fenetre dans l'ecran
     */

    public void son_kaka()
    {
                try{
        File fichier = new File("cootchaWave.wav" ) ;
        AudioInputStream AudioInput = AudioSystem.getAudioInputStream(fichier);
          int bytesPerFrame = AudioInput.getFormat().getFrameSize();
          int numBytes = 1024 * bytesPerFrame;
          byte[] tableau = new byte[numBytes];
        AudioFormat audioFormat = AudioInput.getFormat();
        DataLine.Info Info = new DataLine.Info(SourceDataLine.class,audioFormat);
          SourceDataLine line=(SourceDataLine)AudioSystem.getLine(Info);
          line.open(audioFormat);
          line.start();
        int nb;
        while ( (nb = AudioInput.read(tableau,0,numBytes )) != -1 ){
        line.write(tableau,0,nb);
        }
          }catch (Exception e){
            e.printStackTrace();
            }
    }

    private void centrerFenetre()
        {
            // on place notre fenêtre au milieu
            Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
            setLocation((screen.width - getSize().width)/2,(screen.height - getSize().height)/2);
        }

    private void initComponent2()
    {
        buttonGroupNiveauDuJeu.add(jRadioButtonFacile);
        buttonGroupNiveauDuJeu.add(jRadioButtonNormal);
        buttonGroupNiveauDuJeu.add(jRadioButtonDifficile);
    }
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        buttonGroupNiveauDuJeu = new javax.swing.ButtonGroup();
        jPanel1 = new javax.swing.JPanel();
        jRadioButtonFacile = new javax.swing.JRadioButton();
        jRadioButtonNormal = new javax.swing.JRadioButton();
        jRadioButtonDifficile = new javax.swing.JRadioButton();
        jPanel2 = new javax.swing.JPanel();
        jCheckBoxJoueur1 = new javax.swing.JCheckBox();
        jCheckBoxJoueur2 = new javax.swing.JCheckBox();
        jCheckBoxJoueur3 = new javax.swing.JCheckBox();
        jCheckBoxJoueur4 = new javax.swing.JCheckBox();
        jCheckBoxJoueur5 = new javax.swing.JCheckBox();
        jTextFieldJoueur1 = new javax.swing.JTextField();
        jTextFieldJoueur2 = new javax.swing.JTextField();
        jTextFieldJoueur3 = new javax.swing.JTextField();
        jTextFieldJoueur4 = new javax.swing.JTextField();
        jTextFieldJoueur5 = new javax.swing.JTextField();
        jComboBoxJoueur1 = new javax.swing.JComboBox();
        jComboBoxJoueur2 = new javax.swing.JComboBox();
        jComboBoxJoueur3 = new javax.swing.JComboBox();
        jComboBoxJoueur4 = new javax.swing.JComboBox();
        jComboBoxJoueur5 = new javax.swing.JComboBox();
        jLabelOK = new javax.swing.JLabel();
        jLabelCancel = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("Configuration de Partie");

        jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Niveau du jeu"));

        jRadioButtonFacile.setText("Facile");

        jRadioButtonNormal.setText("Normal");

        jRadioButtonDifficile.setText("Difficile");

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGap(40, 40, 40)
                .addComponent(jRadioButtonFacile)
                .addGap(46, 46, 46)
                .addComponent(jRadioButtonNormal)
                .addGap(41, 41, 41)
                .addComponent(jRadioButtonDifficile)
                .addContainerGap(42, Short.MAX_VALUE))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jRadioButtonFacile)
                    .addComponent(jRadioButtonNormal)
                    .addComponent(jRadioButtonDifficile))
                .addContainerGap(7, Short.MAX_VALUE))
        );

        jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder("Joueurs"));

        jCheckBoxJoueur1.setText("Joueur 1");
        jCheckBoxJoueur1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jCheckBoxJoueur1ActionPerformed(evt);
            }
        });

        jCheckBoxJoueur2.setText("Joueur 2");
        jCheckBoxJoueur2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jCheckBoxJoueur2ActionPerformed(evt);
            }
        });

        jCheckBoxJoueur3.setText("Joueur 3");
        jCheckBoxJoueur3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jCheckBoxJoueur3ActionPerformed(evt);
            }
        });

        jCheckBoxJoueur4.setText("Joueur 4");
        jCheckBoxJoueur4.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jCheckBoxJoueur4ActionPerformed(evt);
            }
        });

        jCheckBoxJoueur5.setText("Joueur 5");
        jCheckBoxJoueur5.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jCheckBoxJoueur5ActionPerformed(evt);
            }
        });

        jTextFieldJoueur1.setText("IA-1");
        jTextFieldJoueur1.setEnabled(false);
        jTextFieldJoueur1.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jTextFieldJoueur1MouseClicked(evt);
            }
        });
        jTextFieldJoueur1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jTextFieldJoueur1ActionPerformed(evt);
            }
        });

        jTextFieldJoueur2.setText("IA-2");
        jTextFieldJoueur2.setEnabled(false);
        jTextFieldJoueur2.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jTextFieldJoueur2MouseClicked(evt);
            }
        });

        jTextFieldJoueur3.setText("IA-3");
        jTextFieldJoueur3.setEnabled(false);
        jTextFieldJoueur3.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jTextFieldJoueur3MouseClicked(evt);
            }
        });

        jTextFieldJoueur4.setText("IA-4");
        jTextFieldJoueur4.setEnabled(false);
        jTextFieldJoueur4.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jTextFieldJoueur4MouseClicked(evt);
            }
        });

        jTextFieldJoueur5.setText("IA-5");
        jTextFieldJoueur5.setEnabled(false);
        jTextFieldJoueur5.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jTextFieldJoueur5MouseClicked(evt);
            }
        });

        jComboBoxJoueur1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "noir", "vert", "bleu", "orange", "rouge" }));
        jComboBoxJoueur1.setEnabled(false);
        jComboBoxJoueur1.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                jComboBoxJoueur1ItemStateChanged(evt);
            }
        });

        jComboBoxJoueur2.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "vert", "bleu", "orange", "rouge", "noir" }));
        jComboBoxJoueur2.setEnabled(false);

        jComboBoxJoueur3.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "bleu", "orange", "rouge", "noir", "vert" }));
        jComboBoxJoueur3.setEnabled(false);

        jComboBoxJoueur4.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "orange", "rouge", "noir", "vert", "bleu" }));
        jComboBoxJoueur4.setEnabled(false);

        jComboBoxJoueur5.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "rouge", "noir", "vert", "bleu", "orange" }));
        jComboBoxJoueur5.setEnabled(false);

        javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
        jPanel2.setLayout(jPanel2Layout);
        jPanel2Layout.setHorizontalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jCheckBoxJoueur3)
                    .addComponent(jCheckBoxJoueur1)
                    .addComponent(jCheckBoxJoueur2)
                    .addComponent(jCheckBoxJoueur4)
                    .addComponent(jCheckBoxJoueur5))
                .addGap(18, 18, 18)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jTextFieldJoueur2, javax.swing.GroupLayout.PREFERRED_SIZE, 168, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jTextFieldJoueur1, javax.swing.GroupLayout.PREFERRED_SIZE, 168, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jTextFieldJoueur3, javax.swing.GroupLayout.PREFERRED_SIZE, 168, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jTextFieldJoueur4, javax.swing.GroupLayout.PREFERRED_SIZE, 168, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jTextFieldJoueur5, javax.swing.GroupLayout.PREFERRED_SIZE, 168, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jComboBoxJoueur5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jComboBoxJoueur4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jComboBoxJoueur3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jComboBoxJoueur2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jComboBoxJoueur1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        jPanel2Layout.setVerticalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jCheckBoxJoueur1)
                    .addComponent(jTextFieldJoueur1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jComboBoxJoueur1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(5, 5, 5)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jCheckBoxJoueur2)
                    .addComponent(jTextFieldJoueur2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jComboBoxJoueur2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jCheckBoxJoueur3)
                    .addComponent(jTextFieldJoueur3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jComboBoxJoueur3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jCheckBoxJoueur4)
                    .addComponent(jTextFieldJoueur4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jComboBoxJoueur4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jCheckBoxJoueur5)
                    .addComponent(jTextFieldJoueur5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jComboBoxJoueur5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(11, Short.MAX_VALUE))
        );

        jLabelOK.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Images/caylus_button_ok.png"))); // NOI18N
        jLabelOK.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jLabelOKMouseClicked(evt);
            }
        });

        jLabelCancel.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Images/caylus_button_cancel.png"))); // NOI18N
        jLabelCancel.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jLabelCancelMouseClicked(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(102, 102, 102)
                        .addComponent(jLabelCancel)
                        .addGap(39, 39, 39)
                        .addComponent(jLabelOK))
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                        .addComponent(jPanel1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(jPanel2, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabelOK)
                    .addComponent(jLabelCancel))
                .addContainerGap(12, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void jCheckBoxJoueur1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jCheckBoxJoueur1ActionPerformed
        if (jCheckBoxJoueur1.isSelected()) 
        {
            jTextFieldJoueur1.setEnabled(true);
            jTextFieldJoueur1.setText("Entrez le nom du Joueur 1 ...");
            jComboBoxJoueur1.setEnabled(true);
        }
        else
        {
            jTextFieldJoueur1.setEnabled(false);
            jTextFieldJoueur1.setText("IA");
            jComboBoxJoueur1.setEnabled(false);
        }
    }//GEN-LAST:event_jCheckBoxJoueur1ActionPerformed

    private void jCheckBoxJoueur2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jCheckBoxJoueur2ActionPerformed
        if (jCheckBoxJoueur2.isSelected()) 
        {
            jTextFieldJoueur2.setEnabled(true);
            jTextFieldJoueur2.setText("Entrez le nom du Joueur 2 ...");
            jComboBoxJoueur2.setEnabled(true);
        }
        else
        {
            jTextFieldJoueur2.setEnabled(false);
            jTextFieldJoueur2.setText("IA");
            jComboBoxJoueur2.setEnabled(false);
        }
    }//GEN-LAST:event_jCheckBoxJoueur2ActionPerformed

    private void jCheckBoxJoueur3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jCheckBoxJoueur3ActionPerformed
        if (jCheckBoxJoueur3.isSelected())
        {
            jTextFieldJoueur3.setEnabled(true);
            jTextFieldJoueur3.setText("Entrez le nom du Joueur 3 ...");
            jComboBoxJoueur3.setEnabled(true);
        }
        else
        {
            jTextFieldJoueur3.setEnabled(false);
            jTextFieldJoueur3.setText("IA");
            jComboBoxJoueur3.setEnabled(false);
        }
    }//GEN-LAST:event_jCheckBoxJoueur3ActionPerformed

    private void jCheckBoxJoueur4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jCheckBoxJoueur4ActionPerformed
       if (jCheckBoxJoueur4.isSelected())
        {
            jTextFieldJoueur4.setEnabled(true);
            jTextFieldJoueur4.setText("Entrez le nom du Joueur 4 ...");
            jComboBoxJoueur4.setEnabled(true);
        }
        else
        {
            jTextFieldJoueur4.setEnabled(false);
            jTextFieldJoueur4.setText("IA");
            jComboBoxJoueur4.setEnabled(false);
        }
    }//GEN-LAST:event_jCheckBoxJoueur4ActionPerformed

    private void jCheckBoxJoueur5ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jCheckBoxJoueur5ActionPerformed
        if (jCheckBoxJoueur5.isSelected())
        {
            jTextFieldJoueur5.setEnabled(true);
            jTextFieldJoueur5.setText("Entrez le nom du Joueur 5 ...");
            jComboBoxJoueur5.setEnabled(true);
        }
        else
        {
            jTextFieldJoueur5.setEnabled(false);
            jTextFieldJoueur5.setText("IA");
            jComboBoxJoueur5.setEnabled(false);
        }
    }//GEN-LAST:event_jCheckBoxJoueur5ActionPerformed

    private void jLabelOKMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabelOKMouseClicked
        if (!_controlSurLesCouleurs()){
            JOptionPane.showMessageDialog(this,"Toutes les couleurs doivent êtres différentes", "Warning...", 1, new ImageIcon("src/images/caylus_button_cancel.png"));
        }
        else if  (_controlSurLesNoms()){
        
                  _generalSettings = new GeneralSettings();
                  // _generalSettings.set_niveauDuJeu(buttonGroupNiveauDuJeu.getSelection().getSelectedObjects().toString());
                  _generalSettings.set_nomJoueur1(jTextFieldJoueur1.getText());
                  _generalSettings.set_nomJoueur2(jTextFieldJoueur2.getText());
                  _generalSettings.set_nomJoueur3(jTextFieldJoueur3.getText());
                  _generalSettings.set_nomJoueur4(jTextFieldJoueur4.getText());
                  _generalSettings.set_nomJoueur5(jTextFieldJoueur5.getText());

                  _generalSettings.set_couleurJ1(convertStringToColor(jComboBoxJoueur1.getSelectedItem().toString()));
                  _generalSettings.set_couleurJ2(convertStringToColor(jComboBoxJoueur2.getSelectedItem().toString()));
                  _generalSettings.set_couleurJ3(convertStringToColor(jComboBoxJoueur3.getSelectedItem().toString()));
                  _generalSettings.set_couleurJ4(convertStringToColor(jComboBoxJoueur4.getSelectedItem().toString()));
                  _generalSettings.set_couleurJ5(convertStringToColor(jComboBoxJoueur5.getSelectedItem().toString()));

                  setVisible(false);
                  dispose();
                  PlateauDuJeu plateauDeJeu = new PlateauDuJeu(_generalSettings);
                  plateauDeJeu.setVisible(true);
        }
    }//GEN-LAST:event_jLabelOKMouseClicked

    private void jLabelCancelMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabelCancelMouseClicked
        Home home = new Home();
        setVisible(false);
        dispose();
        home.setVisible(true);
    }//GEN-LAST:event_jLabelCancelMouseClicked

    private void jTextFieldJoueur1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jTextFieldJoueur1ActionPerformed

    }//GEN-LAST:event_jTextFieldJoueur1ActionPerformed

    private void jTextFieldJoueur1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTextFieldJoueur1MouseClicked
       if (jTextFieldJoueur1.getText().equals("Entrez le nom du Joueur 1 ..."))
            jTextFieldJoueur1.setText("");
    }//GEN-LAST:event_jTextFieldJoueur1MouseClicked

    private void jTextFieldJoueur2MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTextFieldJoueur2MouseClicked
        if (jTextFieldJoueur2.getText().equals("Entrez le nom du Joueur 2 ..."))
            jTextFieldJoueur2.setText("");
    }//GEN-LAST:event_jTextFieldJoueur2MouseClicked

    private void jTextFieldJoueur3MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTextFieldJoueur3MouseClicked
       if (jTextFieldJoueur3.getText().equals("Entrez le nom du Joueur 3 ..."))
            jTextFieldJoueur3.setText("");
    }//GEN-LAST:event_jTextFieldJoueur3MouseClicked

    private void jTextFieldJoueur4MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTextFieldJoueur4MouseClicked
       if (jTextFieldJoueur4.getText().equals("Entrez le nom du Joueur 4 ..."))
            jTextFieldJoueur4.setText("");
    }//GEN-LAST:event_jTextFieldJoueur4MouseClicked

    private void jTextFieldJoueur5MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTextFieldJoueur5MouseClicked
        if (jTextFieldJoueur5.getText().equals("Entrez le nom du Joueur 5 ..."))
            jTextFieldJoueur5.setText("");
    }//GEN-LAST:event_jTextFieldJoueur5MouseClicked

    private void jComboBoxJoueur1ItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_jComboBoxJoueur1ItemStateChanged
//        jComboBoxJoueur2.removeItem(jComboBoxJoueur1.getSelectedItem());
//        jComboBoxJoueur3.removeItem(jComboBoxJoueur1.getSelectedItem());
//        jComboBoxJoueur4.removeItem(jComboBoxJoueur1.getSelectedItem());
//        jComboBoxJoueur5.removeItem(jComboBoxJoueur1.getSelectedItem());
    }//GEN-LAST:event_jComboBoxJoueur1ItemStateChanged

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.ButtonGroup buttonGroupNiveauDuJeu;
    private javax.swing.JCheckBox jCheckBoxJoueur1;
    private javax.swing.JCheckBox jCheckBoxJoueur2;
    private javax.swing.JCheckBox jCheckBoxJoueur3;
    private javax.swing.JCheckBox jCheckBoxJoueur4;
    private javax.swing.JCheckBox jCheckBoxJoueur5;
    private javax.swing.JComboBox jComboBoxJoueur1;
    private javax.swing.JComboBox jComboBoxJoueur2;
    private javax.swing.JComboBox jComboBoxJoueur3;
    private javax.swing.JComboBox jComboBoxJoueur4;
    private javax.swing.JComboBox jComboBoxJoueur5;
    private javax.swing.JLabel jLabelCancel;
    private javax.swing.JLabel jLabelOK;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JRadioButton jRadioButtonDifficile;
    private javax.swing.JRadioButton jRadioButtonFacile;
    private javax.swing.JRadioButton jRadioButtonNormal;
    private javax.swing.JTextField jTextFieldJoueur1;
    private javax.swing.JTextField jTextFieldJoueur2;
    private javax.swing.JTextField jTextFieldJoueur3;
    private javax.swing.JTextField jTextFieldJoueur4;
    private javax.swing.JTextField jTextFieldJoueur5;
    // End of variables declaration//GEN-END:variables

    public Color convertStringToColor(String pString)
    {
        if (pString.equals("rouge") ) return Color.RED;
        if (pString.equals("noir") ) return Color.BLACK;
        if (pString.equals("bleu") ) return Color.BLUE;
        if (pString.equals("orange") ) return Color.ORANGE;
        if (pString.equals("vert") ) return Color.GREEN;
        else
            return Color.LIGHT_GRAY;
    }

    /*
     * Cette méthode retourne false s'il y a deux couleurs similaires
     *
    **/
    private boolean _controlSurLesCouleurs(){
        if  (  (jComboBoxJoueur1.getSelectedItem().equals(jComboBoxJoueur2.getSelectedItem()))
            || (jComboBoxJoueur1.getSelectedItem().equals(jComboBoxJoueur3.getSelectedItem()))
            || (jComboBoxJoueur1.getSelectedItem().equals(jComboBoxJoueur4.getSelectedItem()))
            || (jComboBoxJoueur1.getSelectedItem().equals(jComboBoxJoueur5.getSelectedItem()))
            || (jComboBoxJoueur2.getSelectedItem().equals(jComboBoxJoueur3.getSelectedItem()))
            || (jComboBoxJoueur2.getSelectedItem().equals(jComboBoxJoueur4.getSelectedItem()))
            || (jComboBoxJoueur2.getSelectedItem().equals(jComboBoxJoueur5.getSelectedItem()))
            || (jComboBoxJoueur3.getSelectedItem().equals(jComboBoxJoueur4.getSelectedItem()))
            || (jComboBoxJoueur3.getSelectedItem().equals(jComboBoxJoueur5.getSelectedItem()))
            || (jComboBoxJoueur4.getSelectedItem().equals(jComboBoxJoueur5.getSelectedItem())) )

            return false;
        else return true;
    }

    private boolean _nomsVides(){
        if (  (jTextFieldJoueur1.getText().equals(""))
           || (jTextFieldJoueur2.getText().equals(""))
           || (jTextFieldJoueur3.getText().equals(""))
           || (jTextFieldJoueur4.getText().equals(""))
           || (jTextFieldJoueur5.getText().equals("")) )

            return true;
        else return false;
      }

    private boolean _nomsEgaux(){
        if ( (jTextFieldJoueur1.getText().equals(jTextFieldJoueur2.getText()))
           || (jTextFieldJoueur1.getText().equals(jTextFieldJoueur3.getText()))
           || (jTextFieldJoueur1.getText().equals(jTextFieldJoueur4.getText()))
           || (jTextFieldJoueur1.getText().equals(jTextFieldJoueur5.getText()))
           || (jTextFieldJoueur2.getText().equals(jTextFieldJoueur3.getText()))
           || (jTextFieldJoueur2.getText().equals(jTextFieldJoueur4.getText()))
           || (jTextFieldJoueur2.getText().equals(jTextFieldJoueur5.getText()))
           || (jTextFieldJoueur3.getText().equals(jTextFieldJoueur4.getText()))
           || (jTextFieldJoueur3.getText().equals(jTextFieldJoueur5.getText()))
           || (jTextFieldJoueur4.getText().equals(jTextFieldJoueur5.getText()))  )

            return true;
        else return false;
    }

    private boolean _nomsNonChangés(){
        if (  (jTextFieldJoueur1.getText().equals("Entrez le nom du Joueur 1 ..."))
           || (jTextFieldJoueur2.getText().equals("Entrez le nom du Joueur 2 ..."))
           || (jTextFieldJoueur3.getText().equals("Entrez le nom du Joueur 3 ..."))
           || (jTextFieldJoueur4.getText().equals("Entrez le nom du Joueur 4 ..."))
           || (jTextFieldJoueur5.getText().equals("Entrez le nom du Joueur 5 ...")) )

            return true;
        else return false;
     }

    /*
     * La méthode retourne Vrai si aucun problème n'a été détecté au niveau des noms
     *
     * */
    private boolean _controlSurLesNoms(){
        if (_nomsVides()){
            JOptionPane.showMessageDialog(this,"Aucun noms de peut être vide!!", "Warning...", 1, new ImageIcon("src/images/caylus_button_cancel.png"));
            return false;
        }
        if (_nomsEgaux()){
           JOptionPane.showMessageDialog(this,"Les noms doivent tous êtres différents!!", "Warning...", 1, new ImageIcon("src/images/caylus_button_cancel.png"));
           return false;
        }
        if (_nomsNonChangés()){
            JOptionPane.showMessageDialog(this,"L'un des noms est non valide, vous ne pouvez pas garder les noms par défaut!!", "Warning...", 1, new ImageIcon("src/images/caylus_button_cancel.png"));
            return false;
        }
        else return true;
    }
}
